﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;


public partial class frmListadoProductosEstablecimiento : System.Web.UI.Page
{
    int num = 0;

    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = Session["RNE"].ToString();
        Label2.Text = " RNE Nº: "+Session["RNE"].ToString();

        if (CheckBox1.Checked)
        {
            Label3.Text = "TEMP%";
        }
        else
        {
            Label3.Text = "%";
        }
     } 


    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Redirect("frmProductoAlta.aspx");
    }

    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {

        GridViewRow row = GridView1.SelectedRow;
        Session["rnpa_old"] =  row.Cells[2].Text;              //Selecciona el RNPA actual

        Button2.Enabled = true;
        Button3.Enabled = true;

        TextBox1.Enabled = true;
        
    }


    protected void Button2_Click(object sender, EventArgs e)  //Boton Actualizar RNPA
    {
        //Se deben hacer 2 updates: Por un lado hay que actualizar producto y darle un nuevo RNPA, por el otro, hay que modificar todos los detalles de composicion asociados
        //a ese producto para que haya consistencia de datos.

        if (int.TryParse(TextBox1.Text, out num))
        {
            Session["rnpa_new"] = num.ToString();
            SqlConnection conexion = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

            SqlCommand comando1 = new SqlCommand("UPDATE T_Producto SET nroRNPA='" + Session["rnpa_new"].ToString()+"' WHERE nroRNPA = '"+Session["rnpa_old"].ToString()+"'",conexion);
            SqlCommand comando2 = new SqlCommand("UPDATE T_DetalleComposicion SET idRNPA='" + Session["rnpa_new"].ToString() + "' WHERE idRNPA = '" + Session["rnpa_old"].ToString() + "'", conexion);

            conexion.Open();

            Label4.Text = comando1.ExecuteNonQuery().ToString(); //Las labels (ocultas) indican cuantas filas afecto el comando.
            Label5.Text = comando2.ExecuteNonQuery().ToString(); 

            conexion.Close();

            Response.Redirect("frmListadoProductosEstablecimiento.aspx");  //Refresca el listado

        }
        else
        {
            TextBox1.Text = "Ingrese un numero";
        }
    }


    protected void Button3_Click(object sender, EventArgs e)  //Elimina el producto y sus componentes asociados
    {
        SqlConnection conexion = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

        SqlCommand comando1 = new SqlCommand("DELETE FROM T_Producto WHERE nroRNPA = '" + Session["rnpa_old"].ToString() + "'", conexion);
        SqlCommand comando2 = new SqlCommand("DELETE FROM T_DetalleComposicion WHERE idRNPA = '" + Session["rnpa_old"].ToString() + "'", conexion);

        conexion.Open();

        Label4.Text = comando1.ExecuteNonQuery().ToString(); //Las labels (ocultas) indican cuantas filas afecto el comando.
        Label5.Text = comando2.ExecuteNonQuery().ToString(); 

        conexion.Close();

        Response.Redirect("frmListadoProductosEstablecimiento.aspx");

    }
}